package com.dkd.sbtz.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.dkd.common.annotation.Excel;
import com.dkd.common.core.domain.TreeEntity;

/**
 * 设备台账测试对象 asset_node
 * 
 * @author xzj
 * @date 2025-10-16
 */
public class AssetNodeTestOne extends TreeEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 名称 */
    @Excel(name = "名称")
    private String name;

    /** 设备类型，外键 asset_type.type_code */
    @Excel(name = "设备类型，外键 asset_type.type_code")
    private String nodeType;

    /** 业务编码（如 RA0001_R001_D001） */
    @Excel(name = "业务编码", readConverterExp = "如=,R=A0001_R001_D001")
    private String code;

    /** 层级(根=1) */
    @Excel(name = "层级(根=1)")
    private Long level;

    /** 物化路径 /10/11/15/ */
    @Excel(name = "物化路径 /10/11/15/")
    private String path;

    /** 删除标志（0代表存在 2代表删除） */
    private Integer delFlag;

    /** 设备规格 */
    @Excel(name = "设备规格")
    private String specification;

    /** 设备型号 */
    @Excel(name = "设备型号")
    private String model;

    /** 设备材质 */
    @Excel(name = "设备材质")
    private String material;

    /** 设备等级 */
    @Excel(name = "设备等级")
    private String grade;

    /** 设备功率 */
    @Excel(name = "设备功率")
    private String power;

    /** 设备品牌 */
    @Excel(name = "设备品牌")
    private String brand;

    /** 制造厂家 */
    @Excel(name = "制造厂家")
    private String manufacturer;

    /** 到货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "到货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date arrivalDate;

    /** 安装时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "安装时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date installDate;

    /** 确认完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "确认完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date confirmDate;

    /** 启用时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "启用时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;

    /** 退役时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退役时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date retireDate;

    /** 设备测试信息 */
    @Excel(name = "设备测试信息")
    private String testInfo;

    /** 设备维护维修信息 */
    @Excel(name = "设备维护维修信息")
    private String maintInfo;

    /** 固定资产编号 */
    @Excel(name = "固定资产编号")
    private String codeNum;

    /** 设备位号 */
    @Excel(name = "设备位号")
    private String positionCode;

    /** 设备状态 */
    @Excel(name = "设备状态")
    private Integer status;

    /** 设备位置 */
    @Excel(name = "设备位置")
    private String location;

    /** 是否特种设备(0否,1是) */
    @Excel(name = "是否特种设备(0否,1是)")
    private Integer isSpecial;

    /** 设备资料（文件路径或URL） */
    @Excel(name = "设备资料", readConverterExp = "文=件路径或URL")
    private String docs;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setNodeType(String nodeType) 
    {
        this.nodeType = nodeType;
    }

    public String getNodeType() 
    {
        return nodeType;
    }
    public void setCode(String code) 
    {
        this.code = code;
    }

    public String getCode() 
    {
        return code;
    }
    public void setLevel(Long level) 
    {
        this.level = level;
    }

    public Long getLevel() 
    {
        return level;
    }
    public void setPath(String path) 
    {
        this.path = path;
    }

    public String getPath() 
    {
        return path;
    }
    public void setDelFlag(Integer delFlag) 
    {
        this.delFlag = delFlag;
    }

    public Integer getDelFlag() 
    {
        return delFlag;
    }
    public void setSpecification(String specification) 
    {
        this.specification = specification;
    }

    public String getSpecification() 
    {
        return specification;
    }
    public void setModel(String model) 
    {
        this.model = model;
    }

    public String getModel() 
    {
        return model;
    }
    public void setMaterial(String material) 
    {
        this.material = material;
    }

    public String getMaterial() 
    {
        return material;
    }
    public void setGrade(String grade) 
    {
        this.grade = grade;
    }

    public String getGrade() 
    {
        return grade;
    }
    public void setPower(String power) 
    {
        this.power = power;
    }

    public String getPower() 
    {
        return power;
    }
    public void setBrand(String brand) 
    {
        this.brand = brand;
    }

    public String getBrand() 
    {
        return brand;
    }
    public void setManufacturer(String manufacturer) 
    {
        this.manufacturer = manufacturer;
    }

    public String getManufacturer() 
    {
        return manufacturer;
    }
    public void setArrivalDate(Date arrivalDate) 
    {
        this.arrivalDate = arrivalDate;
    }

    public Date getArrivalDate() 
    {
        return arrivalDate;
    }
    public void setInstallDate(Date installDate) 
    {
        this.installDate = installDate;
    }

    public Date getInstallDate() 
    {
        return installDate;
    }
    public void setConfirmDate(Date confirmDate) 
    {
        this.confirmDate = confirmDate;
    }

    public Date getConfirmDate() 
    {
        return confirmDate;
    }
    public void setStartDate(Date startDate) 
    {
        this.startDate = startDate;
    }

    public Date getStartDate() 
    {
        return startDate;
    }
    public void setRetireDate(Date retireDate) 
    {
        this.retireDate = retireDate;
    }

    public Date getRetireDate() 
    {
        return retireDate;
    }
    public void setTestInfo(String testInfo) 
    {
        this.testInfo = testInfo;
    }

    public String getTestInfo() 
    {
        return testInfo;
    }
    public void setMaintInfo(String maintInfo) 
    {
        this.maintInfo = maintInfo;
    }

    public String getMaintInfo() 
    {
        return maintInfo;
    }
    public void setCodeNum(String codeNum) 
    {
        this.codeNum = codeNum;
    }

    public String getCodeNum() 
    {
        return codeNum;
    }
    public void setPositionCode(String positionCode) 
    {
        this.positionCode = positionCode;
    }

    public String getPositionCode() 
    {
        return positionCode;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setLocation(String location) 
    {
        this.location = location;
    }

    public String getLocation() 
    {
        return location;
    }
    public void setIsSpecial(Integer isSpecial) 
    {
        this.isSpecial = isSpecial;
    }

    public Integer getIsSpecial() 
    {
        return isSpecial;
    }
    public void setDocs(String docs) 
    {
        this.docs = docs;
    }

    public String getDocs() 
    {
        return docs;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("nodeType", getNodeType())
            .append("code", getCode())
            .append("parentId", getParentId())
            .append("ancestors", getAncestors())
            .append("level", getLevel())
            .append("path", getPath())
            .append("orderNum", getOrderNum())
            .append("delFlag", getDelFlag())
            .append("specification", getSpecification())
            .append("model", getModel())
            .append("material", getMaterial())
            .append("grade", getGrade())
            .append("power", getPower())
            .append("brand", getBrand())
            .append("manufacturer", getManufacturer())
            .append("arrivalDate", getArrivalDate())
            .append("installDate", getInstallDate())
            .append("confirmDate", getConfirmDate())
            .append("startDate", getStartDate())
            .append("retireDate", getRetireDate())
            .append("testInfo", getTestInfo())
            .append("maintInfo", getMaintInfo())
            .append("codeNum", getCodeNum())
            .append("positionCode", getPositionCode())
            .append("status", getStatus())
            .append("location", getLocation())
            .append("isSpecial", getIsSpecial())
            .append("docs", getDocs())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
